import { createStore } from 'vuex'
import { isDev } from '@/utils/env'
import user, { userState, userStateInterface } from './modules/user'

export interface modulesStore {
  user: userStateInterface
}

export default createStore<modulesStore>({
  // 在严格模式下，无论何时发生了状态变更且不是由 mutation 函数引起的，将会抛出错误。这能保证所有的状态变更都能被调试工具跟踪到。
  strict: isDev(),
  modules: {
    user
  }
})
